<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>MMJ2FailPopupWindow</title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="MMJ2FailPopupWindow";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../mmj/util/MergeSortedArrayLists.html" title="class in mmj.util"><span class="strong">Prev Class</span></a></li>
<li><a href="../../mmj/util/OutputBoss.html" title="class in mmj.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?mmj/util/MMJ2FailPopupWindow.html" target="_top">Frames</a></li>
<li><a href="MMJ2FailPopupWindow.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">mmj.util</div>
<h2 title="Class MMJ2FailPopupWindow" class="title">Class MMJ2FailPopupWindow</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>mmj.util.MMJ2FailPopupWindow</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">MMJ2FailPopupWindow</span>
extends java.lang.Object</pre>
<div class="block"><code>MMJ2FailPopupWindow</code> displays start-up and abnormal termination
 errors.
 <p>
 Here is an overview of how this works:
 <ol>
 <li><code>BatchFramework</code> obtains the <code>displayMMJ2FailPopupWindow</code>
 parameter from the command line arguments. If "Y" or not entered (default),
 and during command line processing, the <code>MMJ2FailPopupWindow</code> is used
 to display fail (abort) errors and error messages generated during "startup"
 -- meaning prior to the Proof Assistant GUI display.
 <li><code>BatchFramework.runIt()</code> checks for "fail" errors and calls
 <code>MMJ2FailPopupWindow.displayFailMessage()</code> to display the final message
 from mmj2 :-)
 <li><code>OutputBoss.printAndClearMessages()</code>, which is used by the various
 <code>mmj.util.*Boss</code> classes to output errors generated by RunParm
 processing, calls <code>accumStartupErrors()</code> and
 <code>displayStartupErrors</code> in <code>MMJ2FailPopupWindow</code>. There are two
 functions because we want the messages to also be output to the Command
 Prompt window but that process deletes the messages. So we gather them first,
 and then later display them.
 <li>The other "tricky" thing is knowing what is a "startup" error message
 versus a "non-startup" messages. For that the <code>startupMode</code> boolean
 variable is used. Initially, right after the command line arguments are
 parsed, <code>BatchFramework.runIt()</code> calls <code>initiateStartupMode()</code>
 and then later, in <code>ProofAsstBoss.doRunProofAsstGUI()</code> calls
 <code>terminateStartupMode()</code>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../mmj/util/MMJ2FailPopupWindow.html#MMJ2FailPopupWindow(mmj.util.BatchFramework, boolean)">MMJ2FailPopupWindow</a></strong>(<a href="../../mmj/util/BatchFramework.html" title="class in mmj.util">BatchFramework</a>&nbsp;batchFramework,
                   boolean&nbsp;enabled)</code>
<div class="block">Standard constructor.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/util/MMJ2FailPopupWindow.html#accumStartupErrors()">accumStartupErrors</a></strong>()</code>
<div class="block">Gathers the <code>Messages</code> error messages to be displayed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/util/MMJ2FailPopupWindow.html#displayFailMessage(java.lang.String)">displayFailMessage</a></strong>(java.lang.String&nbsp;failMessage)</code>
<div class="block">Displays a <code>JOptionPane</code> Dialog showing the <code>failMessage</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/util/MMJ2FailPopupWindow.html#displayStartupErrors()">displayStartupErrors</a></strong>()</code>
<div class="block">Displays a Dialog showing the messages gathered by
 <code>accumStartupErrors</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/util/MMJ2FailPopupWindow.html#initiateStartupMode()">initiateStartupMode</a></strong>()</code>
<div class="block">Sets startupMode to <code>true</code> and initializes related variables.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/util/MMJ2FailPopupWindow.html#setEnabled(boolean)">setEnabled</a></strong>(boolean&nbsp;enabled)</code>
<div class="block">Sets <code>enabled</code> switch to turn on/off display of the
 <code>MMJ2FailPopupWindow</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/util/MMJ2FailPopupWindow.html#terminateStartupMode()">terminateStartupMode</a></strong>()</code>
<div class="block">Ends startupMode so that only Fail messages are shown.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="MMJ2FailPopupWindow(mmj.util.BatchFramework, boolean)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MMJ2FailPopupWindow</h4>
<pre>public&nbsp;MMJ2FailPopupWindow(<a href="../../mmj/util/BatchFramework.html" title="class in mmj.util">BatchFramework</a>&nbsp;batchFramework,
                   boolean&nbsp;enabled)</pre>
<div class="block">Standard constructor.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>batchFramework</code> - The <code>BatchFramework</code> object.</dd><dd><code>enabled</code> - true to enable display of the popup window, otherwise
            false.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="setEnabled(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnabled</h4>
<pre>public&nbsp;void&nbsp;setEnabled(boolean&nbsp;enabled)</pre>
<div class="block">Sets <code>enabled</code> switch to turn on/off display of the
 <code>MMJ2FailPopupWindow</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>enabled</code> - true to enable display of the popup window, otherwise
            false.</dd></dl>
</li>
</ul>
<a name="initiateStartupMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initiateStartupMode</h4>
<pre>public&nbsp;void&nbsp;initiateStartupMode()</pre>
<div class="block">Sets startupMode to <code>true</code> and initializes related variables.</div>
</li>
</ul>
<a name="terminateStartupMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>terminateStartupMode</h4>
<pre>public&nbsp;void&nbsp;terminateStartupMode()</pre>
<div class="block">Ends startupMode so that only Fail messages are shown.</div>
</li>
</ul>
<a name="displayFailMessage(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>displayFailMessage</h4>
<pre>public&nbsp;void&nbsp;displayFailMessage(java.lang.String&nbsp;failMessage)</pre>
<div class="block">Displays a <code>JOptionPane</code> Dialog showing the <code>failMessage</code>.
 <p>
 Note: if <code>MMJ2FailPopupWindow</code> is not <code>enabled</code> the Dialog is
 not shown.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>failMessage</code> - the final mmj2 message before abnormal termination of
            processing.</dd></dl>
</li>
</ul>
<a name="accumStartupErrors()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>accumStartupErrors</h4>
<pre>public&nbsp;void&nbsp;accumStartupErrors()</pre>
<div class="block">Gathers the <code>Messages</code> error messages to be displayed.
 <p>
 Note: if <code>MMJ2FailPopupWindow</code> is not <code>enabled</code> or not in
 <code>startupMode</code> or if the current RunParm command is
 <code>VerifyProof</code> the messages are not accumulated (or shown).</div>
</li>
</ul>
<a name="displayStartupErrors()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>displayStartupErrors</h4>
<pre>public&nbsp;void&nbsp;displayStartupErrors()</pre>
<div class="block">Displays a Dialog showing the messages gathered by
 <code>accumStartupErrors</code>.
 <p>
 Note: if <code>MMJ2FailPopupWindow</code> is not <code>enabled</code> or if no
 error messages were gathered the Dialog is not shown.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../mmj/util/MergeSortedArrayLists.html" title="class in mmj.util"><span class="strong">Prev Class</span></a></li>
<li><a href="../../mmj/util/OutputBoss.html" title="class in mmj.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?mmj/util/MMJ2FailPopupWindow.html" target="_top">Frames</a></li>
<li><a href="MMJ2FailPopupWindow.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
